home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Periodicals / CSMP / C.S.M.P. Digest, Issue 3.013 < prev    next >
Internet Message Format  |  1994-06-09  |  83KB

  1. From: pottier@clipper.ens.fr (Francois Pottier)
  2. Subject: csmp-digest-v3-013
  3. Date: Wed, 13 Apr 94 14:54:30 MET DST
  4.  
  5. C.S.M.P. Digest             Wed, 13 Apr 94       Volume 3 : Issue 13
  6.  
  7. Today's Topics:
  8.  
  9.         AppleEvents to Run Excel?
  10.         Finding the High Bit
  11.         Generating Activate Events
  12.         I got my PPC PDS card...
  13.         Moving an editText area in a Modal Dialog Q
  14.         PPC Development and MPW Tools
  15.         PowerMac Programming
  16.         PowerMacs and ARTA
  17.         Quickdraw GX Beta 3
  18.  
  19.  
  20.  
  21. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  22. (pottier@clipper.ens.fr).
  23.  
  24. The digest is a collection of article threads from the internet newsgroup
  25. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  26. regularly and want an archive of the discussions.  If you don't know what a
  27. newsgroup is, you probably don't have access to it.  Ask your systems
  28. administrator(s) for details.  If you don't have access to news, you may
  29. still be able to post messages to the group by using a mail server like
  30. anon.penet.fi (mail help@anon.penet.fi for more information).
  31.  
  32. Each issue of the digest contains one or more sets of articles (called
  33. threads), with each set corresponding to a 'discussion' of a particular
  34. subject.  The articles are not edited; all articles included in this digest
  35. are in their original posted form (as received by our news server at
  36. nef.ens.fr).  Article threads are not added to the digest until the last
  37. article added to the thread is at least two weeks old (this is to ensure that
  38. the thread is dead before adding it to the digest).  Article threads that
  39. consist of only one message are generally not included in the digest.
  40.  
  41. The digest is officially distributed by two means, by email and ftp.
  42.  
  43. If you want to receive the digest by mail, send email to listserv@ens.fr
  44. with no subject and one of the following commands as body:
  45.     help                        Sends you a summary of commands
  46.     subscribe csmp-digest Your Name    Adds you to the mailing list
  47.     signoff csmp-digest            Removes you from the list
  48. Once you have subscribed, you will automatically receive each new
  49. issue as it is created.
  50.  
  51. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  52. Questions related to the ftp site should be directed to
  53. scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
  54. digest are available there.
  55.  
  56. Also, the digests are available to WAIS users as comp.sys.mac.programmer.src.
  57.  
  58.  
  59. -------------------------------------------------------
  60.  
  61. >From greer@utdallas.edu (Dale M. Greer)
  62. Subject: AppleEvents to Run Excel?
  63. Date: 28 Mar 1994 20:56:10 GMT
  64. Organization: The University of Texas at Dallas
  65.  
  66. I need to make an application to run Excel from a C program.  I've
  67. got the MS Excel SDK and the IM IAC books.  The former describes
  68. objects and event which act upon them, while the latter gives
  69. examples of how to use AppleEvents.  But these examples aren't
  70. much use helping me figure out how to do it with Excel, and the 
  71. Excel book has no examples at all.  Can someone point me in the
  72. right direction as to how to find how how to do what I need to do?
  73.  
  74. My code will get data from somewhere, and then create a .XLS file
  75. from the data.  To do the latter, the code will use AppleEvents to 
  76. run Excel to create a spreadsheet and enter the data there.
  77.  
  78. --
  79.  
  80. Dale Greer, greer@utdallas.edu
  81. "You can't just wake up and kiss the mirror and say 'I'm so purdy,
  82.  I think I'll run for Governor.'" - Texas Gov. Ann Richards
  83.  
  84.  
  85.  
  86. +++++++++++++++++++++++++++
  87.  
  88. >From jonpugh@netcom.com (Jon Pugh)
  89. Date: Tue, 29 Mar 1994 10:16:36 GMT
  90. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  91.  
  92. Dale M. Greer (greer@utdallas.edu) wrote:
  93. > I need to make an application to run Excel from a C program.  I've
  94. > got the MS Excel SDK and the IM IAC books.  The former describes
  95. > objects and event which act upon them, while the latter gives
  96. > examples of how to use AppleEvents.  But these examples aren't
  97. > much use helping me figure out how to do it with Excel, and the 
  98. > Excel book has no examples at all.  Can someone point me in the
  99. > right direction as to how to find how how to do what I need to do?
  100.  
  101. Let me just say that I know all about this stuff and I wouldn't take on
  102. that job for all the tea in China!
  103.  
  104. Of course, if I WERE stupid enough, I would simply implement the OSALoad &
  105. OSAExecute calls in my program so that I could run scripts and do all the
  106. Excel crap (and that's the part I wouldn't touch) in scripts.  That would
  107. save you lots of time.  Once you got it working (or should I say IF) you
  108. could save the script readonly for distribution as a program resource.
  109.  
  110. Excel is one of the worst scriptable apps in existence and very poorly
  111. documented, if you can even call it documentation.  Hopefully someone
  112. will take pity on you and provide example scripts.  You'll need them.
  113.  
  114. You'll need AppleScript for this too.  It's the OSA layer.
  115.  
  116. Jon
  117.  
  118. +++++++++++++++++++++++++++
  119.  
  120. >From greer@utdallas.edu (Dale M. Greer)
  121. Date: 29 Mar 1994 14:45:43 GMT
  122. Organization: The University of Texas at Dallas
  123.  
  124. Jon Pugh (jonpugh@netcom.com) wrote:
  125. > Dale M. Greer (greer@utdallas.edu) wrote:
  126. > > I need to make an application to run Excel from a C program.  I've
  127. > > got the MS Excel SDK and the IM IAC books.  The former describes
  128. > > objects and event which act upon them, while the latter gives
  129. > > examples of how to use AppleEvents.  But these examples aren't
  130. > > much use helping me figure out how to do it with Excel, and the 
  131. > > Excel book has no examples at all.  Can someone point me in the
  132. > > right direction as to how to find how how to do what I need to do?
  133.  
  134. > Let me just say that I know all about this stuff and I wouldn't take on
  135. > that job for all the tea in China!
  136.  
  137. > Of course, if I WERE stupid enough, I would simply implement the OSALoad &
  138. > OSAExecute calls in my program so that I could run scripts and do all the
  139. > Excel crap (and that's the part I wouldn't touch) in scripts.  That would
  140. > save you lots of time.  Once you got it working (or should I say IF) you
  141. > could save the script readonly for distribution as a program resource.
  142.  
  143. > Excel is one of the worst scriptable apps in existence and very poorly
  144. > documented, if you can even call it documentation.  Hopefully someone
  145. > will take pity on you and provide example scripts.  You'll need them.
  146.  
  147. > You'll need AppleScript for this too.  It's the OSA layer.
  148.  
  149. Thanks for the encouraging words!  ;-)
  150.  
  151. I was considering the tack you suggest, and was able to load and manipulate
  152. data into a spreadsheet from an AppleScript script.  But it just seems
  153. kind of ugly to have software components strewn all over the disk.  On
  154. the other hand, we've only got about 4 weeks to do this, so I might
  155. just do the quick and dirty first, and tidy it up later.
  156.  
  157. At least there is an example of how to load, compile and execute a
  158. script in the IM IAC book.  And I actually found an example of how to
  159. use Create Element, but in the Recording Apple Events section instead
  160. of the Creating and Sending Apple Events section where one might have
  161. hoped it would be.  Still no success there, but I think I'm converging
  162. on it.
  163.  
  164. --
  165.  
  166. Dale Greer, greer@utdallas.edu
  167. "You can't just wake up and kiss the mirror and say 'I'm so purdy,
  168.  I think I'll run for Governor.'" - Texas Gov. Ann Richards
  169.  
  170.  
  171.  
  172. +++++++++++++++++++++++++++
  173.  
  174. >From Carl R. Osterwald <carl_osterwald@nrel.gov>
  175. Date: Tue, 29 Mar 94 17:14:07 GMT
  176. Organization: National Renewable Energy Laboratory
  177.  
  178. In article <jonpughCnF8Jo.4DA@netcom.com> Jon Pugh, jonpugh@netcom.com
  179. writes:
  180. >Excel is one of the worst scriptable apps in existence and very poorly
  181. >documented, if you can even call it documentation.  Hopefully someone
  182. >will take pity on you and provide example scripts.  You'll need them.
  183.  
  184. Ugh -- X-barf.  This reminds me of the time I had to write a external
  185. function to allow a macro to do serial I/O.  The external was easy --
  186. integrating it into and debugging the macro was, shall we say, less than
  187. pleasant.  I was ready for a self-lobotomy about half way through.  Excel
  188. macro language -- absolutely the worst programming environment I have
  189. ever personally been exposed to.
  190.  
  191. +++++++++++++++++++++++++++
  192.  
  193. >From nagle@netcom.com (John Nagle)
  194. Date: Tue, 29 Mar 1994 18:40:12 GMT
  195. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  196.  
  197. jonpugh@netcom.com (Jon Pugh) writes:
  198. >Dale M. Greer (greer@utdallas.edu) wrote:
  199. >> I need to make an application to run Excel from a C program.  I've
  200. >> got the MS Excel SDK and the IM IAC books.  The former describes
  201. >> objects and event which act upon them, while the latter gives
  202. >> examples of how to use AppleEvents.  But these examples aren't
  203. >> much use helping me figure out how to do it with Excel, and the 
  204. >> Excel book has no examples at all.  Can someone point me in the
  205. >> right direction as to how to find how how to do what I need to do?
  206.  
  207. >Let me just say that I know all about this stuff and I wouldn't take on
  208. >that job for all the tea in China!
  209.  
  210.      I did the other side of this last year.  I had to write a program
  211. that received and processed the Table Suite events that Excel
  212. understands.  It's a pain, and it runs slow, but it can be done.
  213. It doesn't require AppleScript at all.  But I had to write a few thousand
  214. lines of code to do it.
  215.  
  216.      Here, for reference, is the AppleEvent which sets cell [1,1] to
  217. a value of 0.0:
  218.  
  219. AppleEvent received:
  220. AppleEvent: Class 'core'  ID 'setd'
  221.   List of 2 items:
  222.   [ 1]  Key: '----'  Type: 'obj '
  223.     Record of 4 items:
  224.     [ 1]  Key: 'want'  Type: 'type'
  225.     [ 1]  4 bytes: 
  226.     [ 1]    0x00:  0x6363656c  'ccel'
  227.  
  228.     [ 2]  Key: 'from'  Type: 'obj '
  229.       Record of 4 items:
  230.       [ 1]  Key: 'want'  Type: 'type'
  231.       [ 1]  4 bytes: 
  232.       [ 1]    0x00:  0x63726f77  'crow'
  233.  
  234.       [ 2]  Key: 'from'  Type: 'obj '
  235.         Record of 4 items:
  236.         [ 1]  Key: 'want'  Type: 'type'
  237.         [ 1]  4 bytes: 
  238.         [ 1]    0x00:  0x646f6375  'docu'
  239.  
  240.         [ 2]  Key: 'from'  Type: 'null'
  241.         [ 2]  0 bytes: 
  242.  
  243.         [ 3]  Key: 'form'  Type: 'enum'
  244.         [ 3]  4 bytes: 
  245.         [ 3]    0x00:  0x6e616d65  'name'
  246.  
  247.         [ 4]  Key: 'seld'  Type: 'TEXT'
  248.         [ 4]  Text (9 chars):
  249.         [ 4]  "Link file"
  250.       [ 3]  Key: 'form'  Type: 'enum'
  251.       [ 3]  4 bytes: 
  252.       [ 3]    0x00:  0x696e6478  'indx'
  253.  
  254.       [ 4]  Key: 'seld'  Type: 'long'
  255.       [ 4]  Text (1 chars):
  256.       [ 4]  "1"
  257.     [ 3]  Key: 'form'  Type: 'enum'
  258.     [ 3]  4 bytes: 
  259.     [ 3]    0x00:  0x696e6478  'indx'
  260.  
  261.     [ 4]  Key: 'seld'  Type: 'long'
  262.     [ 4]  Text (1 chars):
  263.     [ 4]  "1"
  264.   [ 2]  Key: 'data'  Type: 'TEXT'
  265.   [ 2]  Text (5 chars):
  266.   [ 2]  "0.000"
  267.  
  268.  
  269.                         John Nagle
  270.  
  271. +++++++++++++++++++++++++++
  272.  
  273. >From jwbaxter@olympus.net (John W. Baxter)
  274. Date: Tue, 29 Mar 1994 11:22:30 -0800
  275. Organization: Internet for the Olympic Peninsula
  276.  
  277. In article <jonpughCnF8Jo.4DA@netcom.com>, jonpugh@netcom.com (Jon Pugh)
  278. wrote:
  279.  
  280. > Excel is one of the worst scriptable apps in existence and very poorly
  281. > documented, if you can even call it documentation.  Hopefully someone
  282. > will take pity on you and provide example scripts.  You'll need them.
  283.  
  284. Well, Excel was also one of the earliest scriptable applications, and some
  285. things changed after it came out (like Apple appropriating the word
  286. "text").  Excel even came before the change in Frontier's construction of
  287. object specifiers between Frontier 1.0 (weird, and I never fully "got" it)
  288. and Frontier 2.0 (quite simple), so, unlike the FileMaker folks, the Excel
  289. developers didn't even have Frontier to use for testing.
  290.  
  291. So while Excel has problems, it at least has a decent excuse.
  292.  
  293. -- 
  294. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  295.    jwbaxter@pt.olympus.net
  296.  
  297. +++++++++++++++++++++++++++
  298.  
  299. >From Manuel Veloso <veloso@netcom.com>
  300. Date: Wed, 30 Mar 1994 06:41:04 GMT
  301. Organization: Ibex Productions
  302.  
  303. In article <jonpughCnF8Jo.4DA@netcom.com> Jon Pugh, jonpugh@netcom.com writes:
  304. >Excel is one of the worst scriptable apps in existence and very poorly
  305. >documented, if you can even call it documentation.  Hopefully someone
  306. >will take pity on you and provide example scripts.  You'll need them.
  307.  
  308. That's really true. However, on AOL there's some documentation written
  309. by one of the Excel guys about its applescript/ae support, and it works.
  310. I was always under the impression you needed the "R1C1" format,
  311. but Excel actually supports the "row 1 of column 5" specifier.
  312.  
  313. I really don't quite know where to post this, but if people want it
  314. I can send them a copy.
  315.  
  316. +++++++++++++++++++++++++++
  317.  
  318. >From isis@netcom.com (Mike Cohen)
  319. Date: Wed, 30 Mar 1994 18:34:42 GMT
  320. Organization: ISIS International
  321.  
  322. Carl R. Osterwald <carl_osterwald@nrel.gov> writes:
  323.  
  324. >In article <jonpughCnF8Jo.4DA@netcom.com> Jon Pugh, jonpugh@netcom.com
  325. >writes:
  326. >>Excel is one of the worst scriptable apps in existence and very poorly
  327. >>documented, if you can even call it documentation.  Hopefully someone
  328. >>will take pity on you and provide example scripts.  You'll need them.
  329.  
  330. >Ugh -- X-barf.  This reminds me of the time I had to write a external
  331. >function to allow a macro to do serial I/O.  The external was easy --
  332. >integrating it into and debugging the macro was, shall we say, less than
  333. >pleasant.  I was ready for a self-lobotomy about half way through.  Excel
  334. >macro language -- absolutely the worst programming environment I have
  335. >ever personally been exposed to.
  336.  
  337. There's one even worse - FoxPro (which I've unfortunately been doing a lot of
  338. work with lately). Is it a coincidence that both are from Microsoft?
  339. -- 
  340. Mike Cohen - isis@netcom.com
  341. NewtonMail, eWorld: MikeC / ALink: D6734 / AOL: MikeC20
  342.  
  343. +++++++++++++++++++++++++++
  344.  
  345. >From Carl R. Osterwald <carl_osterwald@nrel.gov>
  346. Date: Wed, 30 Mar 94 22:58:30 GMT
  347. Organization: National Renewable Energy Laboratory
  348.  
  349. In article <isisCnHq9u.2H8@netcom.com> Mike Cohen, isis@netcom.com writes:
  350. >There's one even worse - FoxPro (which I've unfortunately been doing a
  351. lot of
  352. >work with lately).
  353.  
  354. Well, I hope I don't have to find out! 
  355.  
  356. >Is it a coincidence that both are from Microsoft?
  357.  
  358. Most likely not.
  359.  
  360. +++++++++++++++++++++++++++
  361.  
  362. >From jwbaxter@olympus.net (John W. Baxter)
  363. Date: Wed, 30 Mar 1994 09:41:47 -0800
  364. Organization: Internet for the Olympic Peninsula
  365.  
  366. As an experiment, I have added a source file to a toy application in which
  367. I am experimenting with OSA issues.
  368.  
  369. The addition implements two ways to cause Excel to launch (if it isn't
  370. running), open a particular toy spreadsheet (if it isn't open), and set
  371. cell 1 of row 1 of that spreadsheet to a value (ie, set the formula of the
  372. cell to a formula which produces the value).
  373.  
  374. The two ways:  1--compile and execute an OSA script (I used AppleScript);
  375. 2--use toolbox (LaunchApplication), AE Manager, and other routines to
  376. launch Excel and send the appropriate events.
  377.  
  378. It took around a half hour (half of which was reminding myself of toolbox
  379. details) to get the OSA script method running...in the course of which I
  380. learned a detail about Excel scripting [below].  The rest of the evening
  381. (not full time) got the other method to the point of launching Excel (if
  382. necessary), and opening the document.  Now I need to go back and check
  383. whether the document is open, and set the cell formula.
  384.  
  385. I expect to post the resulting source code to the server at
  386. gaea.kgs.ukans.edu as sampleware when it's ready.
  387.  
  388. Go the OSA route:  it's simpler and less painful, provided you know your
  389. execution environment HAS a scripting environment (AppleScript or Frontier)
  390. running.
  391.  
  392. - --------Excel Note---------
  393. If you send Excel an open event for a spreadsheet which is already open and
  394. modified, Excel demands to come to the front so it can ask the user whether
  395. to revert the document.  Excel does this even if the open event is sent
  396. with the kAENeverInteract flag.
  397.  
  398. So:  in scripts (or the other way), check for the document being open
  399. first.
  400. -- 
  401. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  402.    jwbaxter@pt.olympus.net
  403.  
  404. ---------------------------
  405.  
  406. >From Chris Russo <chris@sonicsys.com>
  407. Subject: Finding the High Bit
  408. Date: 24 Mar 1994 17:58:53 GMT
  409. Organization: Sonic Systems, Inc.
  410.  
  411. Hi all,
  412.  
  413.     I need to find the high bit in a long as quickly as possible.
  414. 1. I could brute-force shift left till negative.
  415. 2. I could brute-force shift right till zero.
  416. 3. I could create a 256 byte lookup table and do 1-4 lookups.
  417. 4. Someone on the net could show me some neat new algorithm, like
  418.     (number)>>(number>>1) ^ number = solution.  There HAS to be
  419.      something like that out there somewhere. :-)
  420.  
  421. Thanks in advance,
  422.  
  423. Chris Russo
  424.  
  425. Note new address -> chris@sonicsys.com
  426.  
  427. +++++++++++++++++++++++++++
  428.  
  429. >From resnick@cogsci.uiuc.edu (Pete Resnick)
  430. Date: Thu, 24 Mar 1994 12:28:48 -0600
  431. Organization: University of Illinois at Urbana-Champaign
  432.  
  433. In article <2mskct$50a@gaia.internex.net>, Chris Russo
  434. <chris@sonicsys.com> wrote:
  435.  
  436. >        I need to find the high bit in a long as quickly as possible.
  437.  
  438. If you don't care about doing it in C and you can depend on a 68020 or better:
  439.  
  440. #pragma parameter __D0 FindFirstOne(__D0)
  441. long FindFirstOne(long value) = {0xEDCO,0x0000};
  442.  
  443. Otherwise, I think the brute force shift right is best if you put the
  444. value into an unsigned long first:
  445.  
  446.     myUnsigned = myLong;
  447.     bitCount = 0;
  448.     while(myUnsigned != 0L) {
  449.         ++bitCount;
  450.         myUnsigned >>= 1;
  451.     }
  452.  
  453. pr
  454. -- 
  455. Pete Resnick        (...so what is a mojo, and why would one be rising?)
  456. Graduate assistant - Philosophy Department, Gregory Hall, UIUC
  457. System manager - Cognitive Science Group, Beckman Institute, UIUC
  458. Internet: resnick@cogsci.uiuc.edu
  459.  
  460. +++++++++++++++++++++++++++
  461.  
  462. >From platypus@cirrus.som.cwru.edu (Gary Kacmarcik)
  463. Date: 25 Mar 1994 16:43:12 GMT
  464. Organization: Case Western Reserve University, Cleveland, Ohio (USA)
  465.  
  466.  
  467. In article <2mskct$50a@gaia.internex.net> Chris Russo <chris@sonicsys.com> writes:
  468.  
  469. >  I need to find the high bit in a long as quickly as possible.
  470. >  1. I could brute-force shift left till negative.
  471. >  2. I could brute-force shift right till zero.
  472. >  3. I could create a 256 byte lookup table and do 1-4 lookups.
  473. >  4. Someone on the net could show me some neat new algorithm, like
  474. >      (number)>>(number>>1) ^ number = solution.  There HAS to be
  475. >      something like that out there somewhere. :-)
  476.  
  477. well, i'm not sure if this is of value to you, but if you can assume
  478. that you're on a PowerPC-based Mac, you can use the cntlzw (Count
  479. Leading Zeros Word) instruction.
  480.  
  481. the syntax is:
  482.    cntlzw[.]    rA,rS
  483.  
  484. and it returns (in rA) the number of leading zeros (0-32) in the value
  485. stored in rS.  if you append the '.', the condition codes will be updated
  486. so you can quickly tell if the value in rA is zero (meaning the high-bit
  487. of rS is set).
  488.  
  489.  
  490. there is also a doubleword version (cntlzd) that will work on
  491. 64-bit quantities, but it exists only on 64-bit PowerPC implementations,
  492. eg: the 620.
  493.  
  494.  
  495. -gary j kacmarcik
  496. platypus@curie.ces.cwru.edu
  497.  
  498. +++++++++++++++++++++++++++
  499.  
  500. >From sigurasg@rhi.hi.is (Sigurdur Asgeirsson)
  501. Date: 25 Mar 1994 20:56:45 GMT
  502. Organization: University of Iceland
  503.  
  504. In <PLATYPUS.94Mar25114312@cirrus.som.cwru.edu> platypus@cirrus.som.cwru.edu (Gary Kacmarcik) writes:
  505.  
  506.  
  507. >In article <2mskct$50a@gaia.internex.net> Chris Russo <chris@sonicsys.com> writes:
  508.  
  509. >>  I need to find the high bit in a long as quickly as possible.
  510. >>  1. I could brute-force shift left till negative.
  511. >>  2. I could brute-force shift right till zero.
  512. >>  3. I could create a 256 byte lookup table and do 1-4 lookups.
  513. >>  4. Someone on the net could show me some neat new algorithm, like
  514. >>      (number)>>(number>>1) ^ number = solution.  There HAS to be
  515. >>      something like that out there somewhere. :-)
  516.  
  517. >well, i'm not sure if this is of value to you, but if you can assume
  518. >that you're on a PowerPC-based Mac, you can use the cntlzw (Count
  519. >Leading Zeros Word) instruction.
  520.  
  521. [snip]
  522.  
  523.   On the >=68020 there is a similar BFFO (bitfield find first one)
  524. instruction that will find the first 1 bit in a bit field (register if
  525. you will).
  526. -- 
  527. Sigurdur Asgeirsson    | "Well you know, C isn't that hard, void (*(*f[])())()
  528. Kambasel 26            | for instance declares f as an array of unspecified 
  529. 109 Reykjavik, Iceland | size, of pointers to functions that return pointers to
  530. sigurasg@rhi.hi.is     | functions that return void... I think"
  531.  
  532. +++++++++++++++++++++++++++
  533.  
  534. >From tzs@u.washington.edu (Tim Smith)
  535. Date: 26 Mar 1994 08:53:28 GMT
  536. Organization: University of Washington School of Law, Class of '95
  537.  
  538. Chris Russo  <chris@sonicsys.com> wrote:
  539. >Hi all,
  540. >
  541. >    I need to find the high bit in a long as quickly as possible.
  542. >1. I could brute-force shift left till negative.
  543. >2. I could brute-force shift right till zero.
  544. >3. I could create a 256 byte lookup table and do 1-4 lookups.
  545. >4. Someone on the net could show me some neat new algorithm, like
  546. >    (number)>>(number>>1) ^ number = solution.  There HAS to be
  547. >     something like that out there somewhere. :-)
  548. >
  549. >Thanks in advance,
  550.  
  551. This *almost* works (rounding problems--maybe they can be fixed), and
  552. is reasonably portable, and might even be fast, if your compiler can
  553. inline log:
  554.  
  555.     int    FindFirstBit( unsigned long arg )
  556.     {
  557.         return log(arg)/log(2);
  558.     }
  559.  
  560. This can compile to something like this:
  561.  
  562.     00000000: 4E56 0000          LINK      A6,#$0000
  563.     00000004: F22E 4014 0008     FLOGN.L   arg(A6),FP0
  564.     0000000A: F23C 5094 0002     FLOGN.W   #$0002,FP1
  565.     00000010: F200 0420          FDIV      FP1,FP0
  566.     00000014: F200 0003          FINTRZ    FP0
  567.     00000018: F200 7000          FMOVE.W   FP0,D0
  568.     0000001C: 4E5E               UNLK      A6
  569.     0000001E: 4E75               RTS
  570.  
  571. --Tim Smith
  572.  
  573. +++++++++++++++++++++++++++
  574.  
  575. >From nagle@netcom.com (John Nagle)
  576. Date: Sat, 26 Mar 1994 18:23:40 GMT
  577. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  578.  
  579. >In article <2mskct$50a@gaia.internex.net> Chris Russo <chris@sonicsys.com> writes:
  580. >>  I need to find the high bit in a long as quickly as possible.
  581.  
  582.       Use a BFFFO (Find First One in Bit Field) instruction.  This requires
  583. a 68020 or above.  Check the timing table for your CPU, though; this may
  584. turn out to be slow for large shifts on some CPUs.  The right way to
  585. implement an instruction like this is by using the floating point 
  586. normalizer, but this instruction isn't an FPU instruction, so it probably
  587. doesn't. 
  588.  
  589. Alternatively, though, you could write something like
  590.  
  591.       int ffb(unsigned long n)
  592.       {
  593.       if (n & 0xffff0000)
  594.       {    if (n & 0xff000000) return(tab[n>>24]+24);
  595.         else return(tab[(n>>16)&0xff]+16);
  596.       }
  597.       if (n & 0xff00) return(tab[(n>>8)&0xff]+8);
  598.       else return(tab[n]);
  599.       }
  600.  
  601. using a pre-built table.
  602.  
  603. Shifts of multiples of 8 bits are fast on 68K CPUs, so this is reasonably
  604. efficient.  But look at what comes out of the compiler, and make sure
  605. the compiler is smart enough to do this without pushing operands on the
  606. stack.
  607.  
  608.     Are you doing cryptanalysis, chess, or emulation of some nonstandard
  609. FPU?
  610.  
  611.                     John Nagle
  612.  
  613. +++++++++++++++++++++++++++
  614.  
  615. >From tom@dtint.dtint.com (Thomas R. Kimpton)
  616. Date: Tue, 29 Mar 94 00:16:24 GMT
  617. Organization: Digital Technology, International
  618.  
  619. In article <2mskct$50a@gaia.internex.net> Chris Russo <chris@sonicsys.com> writes:
  620. >Hi all,
  621. >
  622. >    I need to find the high bit in a long as quickly as possible.
  623. >1. I could brute-force shift left till negative.
  624. >2. I could brute-force shift right till zero.
  625. >3. I could create a 256 byte lookup table and do 1-4 lookups.
  626. >4. Someone on the net could show me some neat new algorithm, like
  627. >    (number)>>(number>>1) ^ number = solution.  There HAS to be
  628. >     something like that out there somewhere. :-)
  629. >
  630. >Thanks in advance,
  631. >
  632. >Chris Russo
  633. >
  634. >Note new address -> chris@sonicsys.com
  635.  
  636.  
  637. long
  638. findHighBit(register unsigned long n)
  639. {
  640. register long bitnum = 0;
  641.  
  642.     if(n & 0xffff0000){
  643.         bitnum += 16;
  644.         n >>= 16;
  645.     }
  646.     if(n & 0xff00){
  647.         bitnum += 8;
  648.         n >>= 8;
  649.     }
  650.     if(n & 0xf0){
  651.         bitnum += 4;
  652.         n >>= 4;
  653.     }
  654.     if(n & 0xc){
  655.         bitnum += 2;
  656.         n >>= 2;
  657.     }
  658.     if(n & 0x2){
  659.         bitnum += 1;
  660.     }
  661.  
  662. }
  663.  
  664. You'd want to check to see if 'n' is zero before calling this, though.
  665.  
  666. Tom.
  667.  
  668. -- 
  669. - -
  670. Tom Kimpton                            tom@dtint.dtint.com
  671. Digital Technology Int.                (801)226-2984    
  672. 500 W. 1200 South, Orem UT, 84057      FAX (801) 226-8438
  673.  
  674. +++++++++++++++++++++++++++
  675.  
  676. >From saseew@router.unx.sas.com (Ed Walker)
  677. Date: Wed, 30 Mar 1994 14:21:47 GMT
  678. Organization: SAS Institute Inc.
  679.  
  680.  
  681. In article <1994Mar29.001624.845@dtint.dtint.com>, tom@dtint.dtint.com (Thomas R. Kimpton) writes:
  682. >In article <2mskct$50a@gaia.internex.net> Chris Russo <chris@sonicsys.com> writes:
  683. >>Hi all,
  684. >>
  685. >>      I need to find the high bit in a long as quickly as possible.
  686. >>1. I could brute-force shift left till negative.
  687. >>2. I could brute-force shift right till zero.
  688. >>3. I could create a 256 byte lookup table and do 1-4 lookups.
  689. >>4. Someone on the net could show me some neat new algorithm, like
  690. >>    (number)>>(number>>1) ^ number = solution.  There HAS to be
  691. >>     something like that out there somewhere. :-)
  692. >>
  693. >>Thanks in advance,
  694. >>
  695. >>Chris Russo
  696. >>
  697. >>Note new address -> chris@sonicsys.com
  698. >
  699. >
  700. >long
  701. >findHighBit(register unsigned long n)
  702. >{
  703. >register long bitnum = 0;
  704. >
  705. >       if(n & 0xffff0000){
  706. >               bitnum += 16;
  707. >               n >>= 16;
  708. >       }
  709. >       if(n & 0xff00){
  710. >               bitnum += 8;
  711. >               n >>= 8;
  712. >       }
  713. >       if(n & 0xf0){
  714. >               bitnum += 4;
  715. >               n >>= 4;
  716. >       }
  717. >       if(n & 0xc){
  718. >               bitnum += 2;
  719. >               n >>= 2;
  720. >       }
  721. >       if(n & 0x2){
  722. >               bitnum += 1;
  723.                 n >>= 1;            /* Added line */
  724. >       }
  725.  
  726.         if ( n ) bitnum += 1;       /* Added line */
  727.  
  728.         return bitnum;              /* Added line */
  729.  
  730. >
  731. >}
  732. >
  733. >You'd want to check to see if 'n' is zero before calling this, though.
  734. >
  735. >Tom.
  736. >
  737.  
  738. Good job Tom! I suggest adding the indicated lines above. Your method
  739. numbers the bits from 0 to 31 (right to left) while the additions number
  740. them 1-32 (r-l) and returns zero if none are on.
  741.  
  742. Ed                                               >'<                   
  743.                                                 (o o)                  
  744. +---------------------------------------------o0o-U-o0o---------------+
  745. | EdWalker@aol.com    (home)     | It is impossible to make anything  |
  746. | saseew@sas.mvs.com  (work)     | foolproof; fools are so ingenious. |
  747. +---------------------------------------------oo0---0oo---------------+
  748.  
  749.  
  750.  
  751.  
  752.  
  753. ---------------------------
  754.  
  755. >From blalock@opus.hpl.hp.com (Travis Blalock)
  756. Subject: Generating Activate Events
  757. Date: Tue, 29 Mar 1994 18:59:08 GMT
  758. Organization: HP Labs, High Speed Electronics Dept., Palo Alto, CA
  759.  
  760.  
  761. ** Warning UI violations in progress **
  762.  
  763. I am looking at ways of generating activate/deactivate events from a
  764. system extension.  Activate events are not listed in IM as one of the
  765. events I can post with PostEvent or PPostEvent.  Is this a 'real'
  766. limitation or a 'you shouldn't do this' limitiation?  I will just try it
  767. as soon as I get a chance, but I thought I would test the waters here. 
  768. I do not want to use SelectWindow because I don't want the window to
  769. come to the top. 
  770.  
  771. Any advice (other than don't do that :-)) appreciated.
  772.  
  773. Travis
  774. blalock@hpl.hp.com
  775.  
  776.  
  777. +++++++++++++++++++++++++++
  778.  
  779. >From d88-jwa@hemul.nada.kth.se (Jon W‰tte)
  780. Date: 29 Mar 1994 20:29:36 GMT
  781. Organization: The Royal Institute of Technology
  782.  
  783. In <14290001@opus.hpl.hp.com> blalock@opus.hpl.hp.com (Travis Blalock) writes:
  784.  
  785. >I am looking at ways of generating activate/deactivate events from a
  786. >system extension.  Activate events are not listed in IM as one of the
  787.  
  788. LMSetCurActivate() and LMSetCurDeactive()
  789.  
  790. However, if there's already such an event pending, you're out
  791. of luck.
  792. -- 
  793.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe --
  794.  Santa's Reindeer: Fry 1 minced onion, add 1 lb thinly sliced frozen reindeer,
  795.  fry to color, add 1/2 lb mushrooms and 1/2 lb sour cream, simmer 5 mins, add
  796.  soy to taste, salt, pepper. Serve with boiled rice and tart jelly.
  797.  
  798. +++++++++++++++++++++++++++
  799.  
  800. >From walkerj@math.scarolina.edu (Jim Walker)
  801. Date: 29 Mar 1994 21:20:47 GMT
  802. Organization: University of South Carolina - Columbia - Computer Science
  803.  
  804.  
  805. Activate/deactivate are not supposed to be in the event queue, hence you are
  806. not supposed to create them with PostEvent/PPostEvent.  However, for certain
  807. purposes having to do with scrap conversion, I have found it useful to
  808. create activate events with PPostEvent, and have not seen any obvious ill
  809. effects.  I don't think I ever tried it for a window that's not the front
  810. window, though.  As always, "your mileage may vary."
  811. --
  812.  
  813.  -- Jim Walker  USC Dept. of Math.  walkerj@math.scarolina.edu
  814.  
  815. ---------------------------
  816.  
  817. >From Willie Rauchwerger <willie-rauchwerger@uokhsc.edu>
  818. Subject: I got my PPC PDS card...
  819. Date: 30 Mar 1994 15:26:21 GMT
  820. Organization: OU Health Sciences Center
  821.  
  822. Well, I got my PPC PDS card for my Quadra 700 yesterday. I know
  823. not many people (if any) have posted their experiences with the
  824. card, and I thought I might give a bit of an overview.
  825.  
  826. In the box, their are three major items:
  827.  
  828. - the PDS cad
  829. - a 610-PDS adaptor for the card
  830. - System 7.1.2
  831.  
  832. Installing it was pretty easy - pop open the Quadra, decide what 
  833. NuBus card I was going to lose, and put the card in the PDS slot.
  834.  
  835. Then, boot from the install disk, and let it upgrade your system
  836. to System 7.1.2. (Now I did this on my portable drive I bring to
  837. work, and I can verify that System 7.1.2 does boot for 68k machines
  838. as well. As I booted off it to type this post...)
  839.  
  840. System 7.1.2 is basically a minor rev to support PowerPC. Very, very
  841. little is native as far as control panels, extensions, the finder,
  842. etc. As a matter of fact, the finder is completely emulated, and
  843. every control panel and extension I looked at (I may have missed a
  844. few) were 68k binaries. No code fragments to be found.
  845.  
  846. Except in the "PowerPC Upgrade Card Enabler"...it is a 420k file,
  847. that some interesting things inside of it. In the "fovr" resource,
  848. I assume I found Native QuickDraw (NQD), and the new native Memory
  849. Manager...also I found maybe a native on-board video display driver?
  850. I am not sure whether or not it was replacing the one in the
  851. system or not.
  852.  
  853. Oh, yeah, the QuickTime native codecs are in the QuickTime power
  854. plug...yes, it is very fast...
  855.  
  856. I digress...after you perform the update, reboot. My Quadra booted
  857. into the 68k enviroment, since I hadn't a chance to set the control
  858. panel to reboot from the PDS card.
  859.  
  860. Set the control panel and shutdown. Restart doesn't cut it - anytime
  861. you switch between the PDS and the 040, you have to shutdown. I
  862. assume some pram thing...
  863.  
  864. Power on. A really killer startup sound. And it isn't the new
  865. Stanley Jordan one, nor is it the old Quadra one, or the AV one...
  866. I think this one is great...
  867.  
  868. OK, I know, how did it work? Well, about as I expected in emulation.
  869. I ran my normal software and it was a bit slower than my 040. However,
  870. my heavily reliant on QuickDraw things, (some of my own software
  871. that pegs CopyBits, etc. and others) were very fast. ClarisWorks for
  872. 68k seemed no different than on the 040.
  873.  
  874. I found one problem...Think C 6.01 won't compile...not that it is
  875. a big issue for me...I jumped to Metrowerks for most of my stuff
  876. now anyway.
  877.  
  878. Metrowerks C++ for PPC was great. I had worked on getting my
  879. software ready for it, and I just love it. It is really repsonsive,
  880. and compiles very, very fast. A project that was taking approx
  881. 2:00 min to compile under Think on a Q800, 1:15 min under
  882. Metrowerks on a Q800, took 28 secs on Metrowerks for PPC on my
  883. upgrade card.
  884.  
  885. Wow. 
  886.  
  887. I was also concerned about how fast it would be accessing memory
  888. that was on the main board, so I wrote some stuff to work with
  889. 8mb pointer, and the PPC card was still about 3 times faster than 
  890. with my Q700 with the 040 running.
  891.  
  892. I know this is a bit rambling, but I didn't know what everyone
  893. would be interested in...I will try to answer any questions anyone
  894. has about it.
  895.  
  896. Bottom line: It seemed almost as fast as the Q700 in emulation, and
  897. was 2-3 faster in native software.
  898.  
  899. Well, worth the $650 bucks...
  900.  
  901. - -----------------------------------------------------------------
  902. Willie Rauchwerger         AppleLink: Willie
  903. Telemedicine Software Guy  Internet:  willie-rauchwerger@uokhsc.edu
  904. OU Health Sciences Center
  905.  
  906. ---------------------------
  907.  
  908. >From kpmiller@netcom.com (Kent Miller)
  909. Subject: Moving an editText area in a Modal Dialog Q
  910. Date: Mon, 28 Mar 1994 05:01:46 GMT
  911. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  912.  
  913.  
  914. Can anyone tell me how to move an editText area in a modal dialog?
  915.  
  916. A little background:  I am writing a code resource to put up a dialog for
  917. user input.  Since I didn't want to go to the hassle of making sure that
  918. all the resources got moved with the code resource, I decided to use 
  919. NewDialog instead of making dialog resources.  
  920.  
  921. To have an item list, I made one in resedit, then copied the hex and
  922. put it with the code.  When I want to use it, I just make a new handle
  923. and copy the list data in it, then pass that to NewDialog.
  924.  
  925. This works pretty well and I can move buttons around to my hearts content
  926. (after I figured out that you had to call SetDItem and MoveControl to do it.)
  927.  
  928. But, now I need to move the editText area.
  929.  
  930. Any help would be appreciated.
  931.  
  932. Kent
  933.  
  934.  
  935. -- 
  936. ____________________________________________________________
  937. kpmiller@netcom.com | Macintosh Software Engineer
  938. ____________________________________________________________
  939.  
  940. +++++++++++++++++++++++++++
  941.  
  942. >From smoke@well.sf.ca.us (Nicholas Jackiw)
  943. Date: 29 Mar 1994 17:59:42 GMT
  944. Organization: The Whole Earth 'Lectronic Link, Sausalito, CA
  945.  
  946. In article <kpmillerCnCzAz.2Dx@netcom.com>,
  947. Kent Miller <kpmiller@netcom.com> wrote:
  948. >
  949. >Can anyone tell me how to move an editText area in a modal dialog?
  950. >
  951. >Kent
  952.  
  953. If you need to move them only once (i. e. "to final position"),
  954. simply use SetDItem(theDlog, theItem, ... theRect), where theRect
  955. is computed to be the desired location of the editText item in
  956. dialog-local coordinates. Do this before you ShowWindow(theDlog)
  957. and things look dandy.
  958.  
  959. If you need to move an edit text item while the dialog is showing,
  960. it's more complicated. If the edit text happens to be the one
  961. currently in use by the user (not necessarily the case if there
  962. are >1 edit text items), you need to treat DialogPeek(theDlog)^.textH
  963. as an active TEdit control and update its viewRect and destRect.
  964. (The user is currently using edit text item DialogPeek(theDlog)^.editField+1.)
  965.  
  966. A more elegant approach, in this second case, would
  967. be to use multiple edit text boxes, one at Location 1 and one at
  968. Location 2, etc. Use HideDItem and ShowDItem to determine which one
  969. is visible at any given time.
  970.  
  971. Is this the sort of info you wanted?
  972.  
  973.  
  974. -- 
  975.                               --- * ---
  976. Nick Jackiw                  Smoke@well.sf.ca.us   | Jackiw@cs.swarthmore.edu
  977. Key Curriculum Press, Inc.   Applelink:KEY.EDUSOFT | (510) 548-2304
  978.                               --- * ---
  979.  
  980. +++++++++++++++++++++++++++
  981.  
  982. >From leblonk@netcom.com (Marcel Blonk)
  983. Date: Tue, 29 Mar 1994 22:10:06 GMT
  984. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  985.  
  986. Kent Miller (kpmiller@netcom.com) wrote:
  987.  
  988. : Can anyone tell me how to move an editText area in a modal dialog?
  989.  
  990. Here's a copy of the method I use to move dialog items:
  991.  
  992.  
  993. void CDialog::SetDRect( short item, Rect *r)
  994. {
  995. short       type;
  996. Handle      h;
  997. Rect        rr;
  998.  
  999.     GetDItem( window, item, &type, &h, &rr);
  1000.     SetDItem( window, item, type, h, r);
  1001.     type &= ~itemDisable;
  1002.     if ( (type & ~0x3) == ctrlItem )
  1003.     {   MoveControl( (ControlHandle)h, r->left, r->top);
  1004.         SizeControl( (ControlHandle)h, r->right - r->left, r->bottom - 
  1005. r->top);
  1006.     }
  1007.     else if ( type == editText )
  1008.     {   if ( item == (((DialogPeek)window)->editField + 1) )
  1009.         {   if ( ((DialogPeek)window)->textH != nil )
  1010.             {   OffsetRect( &(*((DialogPeek)window)->textH)->destRect,
  1011.                             r->left - rr.left, r->top - rr.top);
  1012.                 OffsetRect( &(*((DialogPeek)window)->textH)->viewRect,
  1013.                             r->left - rr.left, r->top - rr.top);
  1014.                 OffsetRect( &(*((DialogPeek)window)->textH)->selRect,
  1015.                             r->left - rr.left, r->top - rr.top);
  1016.             }
  1017.         }
  1018.     }
  1019. }
  1020.  
  1021. Hope this helps,
  1022.  
  1023. Marcel
  1024.  
  1025.  
  1026. ---------------------------
  1027.  
  1028. >From bcburke@violet.berkeley.edu (Brian C. Burke)
  1029. Subject: PPC Development and MPW Tools
  1030. Date: Thu, 24 Mar 1994 23:02:09 -0800
  1031. Organization: UC Berkeley
  1032.  
  1033.  Will any of the available PowerPC development environments allow
  1034. development and execution of (MPW like) tools in PowerPC native code.
  1035.  
  1036. Brian
  1037.  
  1038. +++++++++++++++++++++++++++
  1039.  
  1040. >From peirce@outpost.SF-Bay.org (Michael Peirce)
  1041. Date: Mon, 28 Mar 94 10:17:35 PST
  1042. Organization: Peirce Software, Inc.
  1043.  
  1044.  
  1045. In article <bcburke-240394230209@windsurfer.hip.berkeley.edu> (comp.sys.mac.programmer), bcburke@violet.berkeley.edu (Brian C. Burke) writes:
  1046. >  Will any of the available PowerPC development environments allow
  1047. > development and execution of (MPW like) tools in PowerPC native code.
  1048.  
  1049. How about MPW?  Apple has said they will be shipping some native 
  1050. MPW tools real-soon-now.  I'm not holding my breath, but it should
  1051. take them too long to do this for some of the more important tools.
  1052.  
  1053.  
  1054. -- Michael Peirce        -- peirce@outpost.sf-bay.org
  1055. -- Peirce Software, Inc. -- 719 Hibiscus Place, Suite 301
  1056. --                       -- San Jose, California USA 95117
  1057. -- Makers of: Smoothie & -- voice: +1.408.244.6554 fax: +1.408.244.6882
  1058. --    Peirce Print Tools -- AppleLink: peirce & America Online: AFC Peirce
  1059.  
  1060. +++++++++++++++++++++++++++
  1061.  
  1062. >From langsys@pcthree.com (Language Systems)
  1063. Date: Tue, 29 Mar 1994 14:23:30 GMT
  1064. Organization: PC Three, Inc.
  1065.  
  1066. peirce@outpost.SF-Bay.org (Michael Peirce) writes:
  1067.  
  1068.  
  1069. >In article <bcburke-240394230209@windsurfer.hip.berkeley.edu> (comp.sys.mac.programmer), bcburke@violet.berkeley.edu (Brian C. Burke) writes:
  1070. >>  Will any of the available PowerPC development environments allow
  1071. >> development and execution of (MPW like) tools in PowerPC native code.
  1072.  
  1073. >How about MPW?  Apple has said they will be shipping some native 
  1074. >MPW tools real-soon-now.  I'm not holding my breath, but it should
  1075. >take them too long to do this for some of the more important tools.
  1076.  
  1077. Language Systems will soon be shipping 2 development tools for the
  1078. PowerMacs.
  1079.  
  1080. LS Pascal/PPC
  1081. LS FORTRAN/PPC
  1082.  
  1083. Both run with MPW and will be native on the PowerMac.
  1084.  
  1085. Lisa Jones
  1086. Language Systems
  1087. 800-252-6479 (for more info)
  1088.  
  1089. +++++++++++++++++++++++++++
  1090.  
  1091. >From Manuel Veloso <veloso@netcom.com>
  1092. Date: Wed, 30 Mar 1994 06:35:07 GMT
  1093. Organization: Ibex Productions
  1094.  
  1095. In article <CNjbKKKX.ronpu8@outpost.SF-Bay.org> Michael Peirce,
  1096. peirce@outpost.SF-Bay.org writes:
  1097. >How about MPW?  Apple has said they will be shipping some native 
  1098. >MPW tools real-soon-now.  I'm not holding my breath, but it should
  1099. >take them too long to do this for some of the more important tools.
  1100.  
  1101. Last I heard, MPW was going to be native near the end of the year. This
  1102. is from a friend who called & asked APDA about it, since he was also
  1103. asking about his Mac on RISC disc upgrade.
  1104.  
  1105. This is kind of ridiculous at first glance, but a few weeks ago I was looking
  1106. at the funky stuff MPW had to do for tool support, and well, I understand
  1107. why converting that might take a while. Then again, there's probably an alpha
  1108. floating around out there somewhere, since Apple's never been shy about
  1109. keeping tools in the alpha/beta state for a while.
  1110.  
  1111. ---------------------------
  1112.  
  1113. >From Dave.Falkenburg%f1.n3641.z1@psybbs.durham.nc.us (Dave Falkenburg)
  1114. Subject: PowerMac Programming
  1115. Date: 16 Mar 94 02:04:58 GMT
  1116. Organization: (none)
  1117.  
  1118. Organization: Apple Computer, Inc.
  1119.  
  1120. In article <rmah-130394135309@rmah.dialup.access.net> Robert S. Mah,
  1121. rmah@panix.com writes:
  1122. > From the Mart 94 AppleDirections newsletter...
  1123. > Macintosh With PowerPC Bundle (B1864LL/A)                   $849.00
  1124. > Programmer's Introduction to RISC and PowerPC (R0172LL/A)   $150.00
  1125. > Macintosh with PowerPC Starter Kit (R0563LL/A)               $39.95
  1126.  
  1127. Gack. That!s ALOT of money.
  1128.  
  1129. Seems like E.T.O. should come with all this stuff, wouldn't you think?
  1130.  
  1131. -Dave Falkenburg
  1132.  
  1133. Disclaimer: I don!t speak for Apple in this post, although someone who
  1134. think!s that the SDK is worth $850 bucks probably would.
  1135.  
  1136. +++++++++++++++++++++++++++
  1137.  
  1138. >From nagle@netcom.com (John Nagle)
  1139. Date: Fri, 25 Mar 1994 16:37:12 GMT
  1140. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  1141.  
  1142. Dave.Falkenburg%f1.n3641.z1@psybbs.durham.nc.us (Dave Falkenburg) writes:
  1143. >Organization: Apple Computer, Inc.
  1144. >In article <rmah-130394135309@rmah.dialup.access.net> Robert S. Mah,
  1145. >rmah@panix.com writes:
  1146. >> From the Mart 94 AppleDirections newsletter...
  1147. >> 
  1148. >> Macintosh With PowerPC Bundle (B1864LL/A)                   $849.00
  1149. >> Programmer's Introduction to RISC and PowerPC (R0172LL/A)   $150.00
  1150. >> Macintosh with PowerPC Starter Kit (R0563LL/A)               $39.95
  1151. >> 
  1152. >Gack. That!s ALOT of money.
  1153.  
  1154.      Keeps the rabble out.  Can't have just anybody developing PowerPC
  1155. apps.
  1156.  
  1157.      I still haven't seen a single PowerPC app in shrink-wrap form on
  1158. a store shelf, but I talked to somebody who said that they knew somebody
  1159. who had seen one.
  1160.  
  1161.                     John Nagle
  1162.  
  1163. +++++++++++++++++++++++++++
  1164.  
  1165. >From zstern@adobe.com (Zalman Stern)
  1166. Date: Sat, 26 Mar 1994 01:50:31 GMT
  1167. Organization: Adobe Systems Incorporated
  1168.  
  1169. John Nagle writes
  1170. >      I still haven't seen a single PowerPC app in shrink-wrap form on
  1171. > a store shelf, but I talked to somebody who said that they knew somebody
  1172. > who had seen one.
  1173.  
  1174. How about every copy of Photoshop 2.5.1 on store shelves? With the Power  
  1175. Macintosh accelerator (avaiable free on the net, as well as elsewhere) this  
  1176. product delivers the performance a straight Power Macintosh port would  
  1177. deliver for most operations.
  1178. --
  1179. Zalman Stern           zalman@adobe.com            (415) 962 3824
  1180. Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900
  1181. "Do right, and risk consequences." Motto of Sam Houston (via Molly Ivins)
  1182.  
  1183. +++++++++++++++++++++++++++
  1184.  
  1185. >From nagle@netcom.com (John Nagle)
  1186. Date: Sat, 26 Mar 1994 18:02:30 GMT
  1187. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  1188.  
  1189. zstern@adobe.com (Zalman Stern) writes:
  1190. >John Nagle writes
  1191. >>      I still haven't seen a single PowerPC app in shrink-wrap form on
  1192. >> a store shelf, but I talked to somebody who said that they knew somebody
  1193. >> who had seen one.
  1194.  
  1195. >How about every copy of Photoshop 2.5.1 on store shelves? With the Power  
  1196. >Macintosh accelerator (avaiable free on the net, as well as elsewhere) this  
  1197. >product delivers the performance a straight Power Macintosh port would  
  1198. >deliver for most operations.
  1199.  
  1200.       I'm talking about product marketing.  Yes, there's stuff you can get
  1201. by mail-order.  But I'm not seeing retailers committing shelf space to
  1202. PowerPC software.
  1203.  
  1204.       Besides, the Photoshop "accelerator" isn't a full port; it's just
  1205. faster versions of a few of the slower filters.
  1206.  
  1207.                     John Nagle
  1208.  
  1209. +++++++++++++++++++++++++++
  1210.  
  1211. >From usenet@lowry.eche.ualberta.ca (Brian Lowry)
  1212. Date: 26 Mar 1994 21:29:44 GMT
  1213. Organization: Chem Eng - Univ of Alberta
  1214.  
  1215. In article <nagleCnAA46.HJu@netcom.com>, nagle@netcom.com (John Nagle)
  1216. wrote:
  1217.  
  1218. > zstern@adobe.com (Zalman Stern) writes:
  1219. > >John Nagle writes
  1220. > >>      I still haven't seen a single PowerPC app in shrink-wrap form on
  1221. > >> a store shelf, but I talked to somebody who said that they knew somebody
  1222. > >> who had seen one.
  1223.  
  1224. > >How about every copy of Photoshop 2.5.1 on store shelves? With the Power  
  1225. > >Macintosh accelerator (avaiable free on the net, as well as elsewhere) this  
  1226. > >product delivers the performance a straight Power Macintosh port would  
  1227. > >deliver for most operations.
  1228.  
  1229. >       I'm talking about product marketing.  Yes, there's stuff you can get
  1230. > by mail-order.  But I'm not seeing retailers committing shelf space to
  1231. > PowerPC software.
  1232.  
  1233. >       Besides, the Photoshop "accelerator" isn't a full port; it's just
  1234. > faster versions of a few of the slower filters.
  1235.  
  1236.   I guess this means that almost every single filter built into Photoshop
  1237. is one of the slower ones... where are the faster filters hiding?
  1238.  
  1239.   Before you go any further showing your massive misunderstanding of
  1240. PowerPC programming, perhaps you ought to consider that a port to the
  1241. PowerPC does not require 100% native code.  All that is required is native
  1242. code which patches the most processor intensive portions of an application.
  1243.  This is essentially what the Photoshop plug-in does, hence Photoshop is
  1244. now native.  Demanding 100% PowerPC code makes about as much sense as
  1245. demanding that programmers stop using Quickdraw and write something more
  1246. efficient... both Quickdraw and 680x0 emulation are built in, and there's
  1247. no reason to reinvent the wheel for something like a 5% speed improvement.
  1248.  
  1249. btw - before I get jumped on, yes I do know that Photoshop doesn't use
  1250. Quickdraw exclusively, but then, Quickdraw doesn't support CMYK :)
  1251.  
  1252. -- 
  1253.  
  1254. Brian Lowry
  1255.  
  1256. +++++++++++++++++++++++++++
  1257.  
  1258. >From zstern@adobe.com (Zalman Stern)
  1259. Date: Sun, 27 Mar 1994 09:42:27 GMT
  1260. Organization: Adobe Systems Incorporated
  1261.  
  1262. John Nagle writes
  1263. [I still haven't seen a single PowerPC app in shrink-wrap form on a store  
  1264. shelf.]
  1265.  
  1266. I wrote:
  1267. [How about Photoshop 2.5.1 plus the Power Macintosh accelerator?]
  1268.  
  1269. John Nagle writes
  1270. >       I'm talking about product marketing.  Yes, there's stuff you can get
  1271. > by mail-order.  But I'm not seeing retailers committing shelf space to
  1272. > PowerPC software.
  1273.  
  1274. New copies of Photoshop 2.5.1 are shipping with the Power Macintosh  
  1275. accelerator in the package. This product provides the winning feature of a  
  1276. Power Macintosh (i.e. speed). It doesn't matter that it is not completely  
  1277. native. (And before you complain that it would be slightly faster if it were  
  1278. fully native, keep in mind that Apple made the same decision about their  
  1279. OS.) I'm not sure if the boxes will have a sticker on them saying "Includes  
  1280. Power Macintosh support" or whatever.
  1281.  
  1282. >       Besides, the Photoshop "accelerator" isn't a full port; it's just
  1283. > faster versions of a few of the slower filters.
  1284.  
  1285. I generally don't tell other people what code they wrote does unless I'm  
  1286. *damn* sure I know what I'm talking about. I expect you to afford me the  
  1287. same courtesy. The accelerator provides native implementations of almost  
  1288. every routine that is written in 68K assembly for 2.5.1. Considering the  
  1289. quality of Macintosh compilers, it it was speed critical, a routine got  
  1290. written in assembly. (Note: the main failing of the accelerator is it  
  1291. provides minimal speedup for plug-in filters. These run at emulated speed.)
  1292.  
  1293. The accelerator provides around 90% of the speed benefit of a full native  
  1294. application with minimal impact on the memory footprint. (I know this  
  1295. because we did a bunch of measurements to make the comparison.) The QA  
  1296. effort for the accelerator product is relatively small. (Which is incredibly  
  1297. important given the limited beta testing opportunities.) The distribution  
  1298. plan is easy: anybody who wants one can have one because to get any value  
  1299. from it they need a copy of 2.5.1. In short, its an excellent engineering  
  1300. answer to the overhead of doing a complete new release of a product that's  
  1301. been shipping for a year to support a new piece of hardware. (When the full  
  1302. native version ships, it will be faster than the accelerator, but that has  
  1303. more to do with my improving the code between the products shipping.)
  1304.  
  1305. The idea of allowing speed critical functions to be replaced at runtime and  
  1306. its implementation in Photoshop is due to Mark Hamburg and Thomas Knoll. The  
  1307. underlying technology that allows this replacement on PowerPC is Mixed Mode,  
  1308. implemented by various people at Apple (or formerly at Apple :-)) including  
  1309. Sean Parent and Bruce Jones. Given these two great ideas, I didn't have to  
  1310. think very hard to come up with the idea of this accelerator.
  1311. --
  1312. Zalman Stern           zalman@adobe.com            (415) 962 3824
  1313. Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900
  1314. "Do right, and risk consequences." Motto of Sam Houston (via Molly Ivins)
  1315.  
  1316. +++++++++++++++++++++++++++
  1317.  
  1318. >From 103t_english@west.cscwc.pima.edu
  1319. Date: 29 Mar 94 13:36:14 MST
  1320. Organization: (none)
  1321.  
  1322. In article <764568523.AA03220@psybbs.durham.nc.us>, Dave.Falkenburg%f1.n3641.z1@psybbs.durham.nc.us (Dave Falkenburg) writes:
  1323. > Organization: Apple Computer, Inc.
  1324. > In article <rmah-130394135309@rmah.dialup.access.net> Robert S. Mah,
  1325. > rmah@panix.com writes:
  1326. >> From the Mart 94 AppleDirections newsletter...
  1327. >> 
  1328. >> Macintosh With PowerPC Bundle (B1864LL/A)                   $849.00
  1329. >> Programmer's Introduction to RISC and PowerPC (R0172LL/A)   $150.00
  1330. >> Macintosh with PowerPC Starter Kit (R0563LL/A)               $39.95
  1331. >> 
  1332. > Gack. That!s ALOT of money.
  1333. > Seems like E.T.O. should come with all this stuff, wouldn't you think?
  1334. > -Dave Falkenburg
  1335. > Disclaimer: I don!t speak for Apple in this post, although someone who
  1336. > think!s that the SDK is worth $850 bucks probably would.
  1337.  
  1338. Do NOT buy the Programmer's Intro to RISC!!!!!
  1339.  
  1340.  
  1341. Honest. It is a waste of money. I am working on a shareware product (also done
  1342. in HyperCard) which will be worth far more and cost 1/10 as much.
  1343.  
  1344. Lawson
  1345.  
  1346. +++++++++++++++++++++++++++
  1347.  
  1348. >From siegel@netcom.com (Rich Siegel)
  1349. Date: Wed, 30 Mar 1994 03:33:56 GMT
  1350. Organization: Bare Bones Software
  1351.  
  1352. In article <1994Mar29.133614.1@west.cscwc.pima.edu> 103t_english@west.cscwc.pima.edu writes:
  1353.  
  1354. >Do NOT buy the Programmer's Intro to RISC!!!!!
  1355. >
  1356. >
  1357. >Honest. It is a waste of money. I am working on a shareware product (also done
  1358. >in HyperCard) which will be worth far more and cost 1/10 as much.
  1359. >
  1360. >Lawson
  1361.  
  1362. ...and which will enrich your bottom line, or so you hope.
  1363.  
  1364. Be sure that when posting, you make your articles as biased and
  1365. content-free as possible, lest someone mistake your motives.
  1366.  
  1367. R.
  1368.  
  1369. (warning: the above may cause cognitive dissonance for the sarcasm-impaired.)
  1370.  
  1371. -- 
  1372. Rich Siegel % siegel@netcom.com    % Principal, Bare Bones Software
  1373. --> For information about BBEdit, finger bbedit@world.std.com <--
  1374.  
  1375. "...yeah, I inhaled, and then I drank the bong water. So what're
  1376. you gonna do about it?" - Dennis Miller, on Bill Clinton
  1377.  
  1378. ---------------------------
  1379.  
  1380. >From steve@hi.com (Steve Byan)
  1381. Subject: PowerMacs and ARTA
  1382. Date: 21 Mar 1994 19:30:16 GMT
  1383. Organization: Hitachi Computer
  1384.  
  1385. So what's happened to ARTA in the PowerMacs? How do I write real-time DSP
  1386. code for the 601? (I'm not interested in purchasing a 3210 add-in card for
  1387. the PowerMacs.)
  1388.  
  1389. Steve Byan                                  internet: steve@hi.com
  1390. Hitachi Computer Products (America), Inc.   
  1391. 1601 Trapelo Road                           phone: (617) 890-0444
  1392. Waltham, MA 02154                           FAX: (617) 890-4998
  1393.  
  1394. +++++++++++++++++++++++++++
  1395.  
  1396. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  1397. Date: 23 Mar 94 10:05:25 +1300
  1398. Organization: University of Waikato, Hamilton, New Zealand
  1399.  
  1400. In article <steve-210394142546@brainiac.hi.com>, steve@hi.com (Steve Byan) writes:
  1401. > So what's happened to ARTA in the PowerMacs? How do I write real-time DSP
  1402. > code for the 601? (I'm not interested in purchasing a 3210 add-in card for
  1403. > the PowerMacs.)
  1404.  
  1405. Last I heard ARTA is included with the PowerMacs, only there is no DSP for
  1406. them to talk to (you have to buy add-in cards for that).
  1407.  
  1408. As for writing real-time DSP code for a general-purpose CPU, good luck...
  1409.  
  1410. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  1411. Info & Tech Services Division              fax: +64-7-838-4066
  1412. University of Waikato            electric mail: ldo@waikato.ac.nz
  1413. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  1414.  
  1415. +++++++++++++++++++++++++++
  1416.  
  1417. >From zstern@adobe.com (Zalman Stern)
  1418. Date: Wed, 23 Mar 1994 05:00:05 GMT
  1419. Organization: Adobe Systems Incorporated
  1420.  
  1421. Lawrence D'Oliveiro, Waikato University writes
  1422. > In article <steve-210394142546@brainiac.hi.com>, steve@hi.com (Steve Byan)  
  1423. writes:
  1424. > > So what's happened to ARTA in the PowerMacs? How do I write real-time  
  1425. DSP
  1426. > > code for the 601? (I'm not interested in purchasing a 3210 add-in card  
  1427. for
  1428. > > the PowerMacs.)
  1429. > Last I heard ARTA is included with the PowerMacs, only there is no DSP for
  1430. > them to talk to (you have to buy add-in cards for that).
  1431.  
  1432. The 'rtmr' gestalt selector is undefined on the Power Macintosh. I assume  
  1433. third-party DSP cards provide ARTA themselves as they do for non-AV 68K  
  1434. Macs.
  1435.  
  1436. > As for writing real-time DSP code for a general-purpose CPU, good luck...
  1437.  
  1438. This has a lot more to do with the OS software than the CPU.
  1439. --
  1440. Zalman Stern           zalman@adobe.com            (415) 962 3824
  1441. Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900
  1442. "Do right, and risk consequences." Motto of Sam Houston (via Molly Ivins)
  1443.  
  1444. +++++++++++++++++++++++++++
  1445.  
  1446. >From steve@hi.com (Steve Byan)
  1447. Date: 23 Mar 1994 17:58:37 GMT
  1448. Organization: Hitachi Computer
  1449.  
  1450. In article <1994Mar23.100525.26753@waikato.ac.nz>, ldo@waikato.ac.nz
  1451. (Lawrence D'Oliveiro, Waikato University) wrote:
  1452. > In article <steve-210394142546@brainiac.hi.com>, steve@hi.com (Steve Byan) writes:
  1453. > > So what's happened to ARTA in the PowerMacs? How do I write real-time DSP
  1454. > > code for the 601? (I'm not interested in purchasing a 3210 add-in card for
  1455. > > the PowerMacs.)
  1456. > Last I heard ARTA is included with the PowerMacs, only there is no DSP for
  1457. > them to talk to (you have to buy add-in cards for that).
  1458. > As for writing real-time DSP code for a general-purpose CPU, good luck...
  1459.  
  1460. Apple claims to ship real-time speech-recognition, speech synthesis, and
  1461. 9600 baud modem code with the PowerMacs - using only the 601 - not using
  1462. any DSP chip. Supposedly the 601 can do multiply-accumulates faster than
  1463. the 3210. 
  1464.  
  1465. The remaining question is "by what mechanism am I supposed to schedule
  1466. real-time (DSP) code that executes on the 601, and processes sound
  1467. samples?". For the AV Macs, the answer was "use ARTA". My hope is that the
  1468. same API applies for the PowerMacs.
  1469.  
  1470. Does anyone have any real information they can pass on?
  1471.  
  1472. Thanks,
  1473. -Steve
  1474.  
  1475. Steve Byan                                  internet: steve@hi.com
  1476. Hitachi Computer Products (America), Inc.   
  1477. 1601 Trapelo Road                           phone: (617) 890-0444
  1478. Waltham, MA 02154                           FAX: (617) 890-4998
  1479.  
  1480. +++++++++++++++++++++++++++
  1481.  
  1482. >From amanda@intercon.com (Amanda Walker)
  1483. Date: Wed, 23 Mar 1994 16:08:20 -0500
  1484. Organization: InterCon Systems Corporation, Herndon, VA USA
  1485.  
  1486. ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  1487. > Last I heard ARTA is included with the PowerMacs, only there is no DSP 
  1488. > for them to talk to (you have to buy add-in cards for that). 
  1489.  
  1490. ARTA is not present.  There is evidently some real-time code in them (used
  1491. by the Power Macintosh Geoport software, for example), but it is so far
  1492. undocumented.
  1493.  
  1494. > As for writing real-time DSP code for a general-purpose CPU, good 
  1495. > luck... 
  1496.  
  1497. Indeed.  I get sound dropouts on my 8100/80 if the CPU gets busy.
  1498. I'm sticking with my 660AV for anything involving audio for the time being.
  1499.  
  1500.  
  1501. Amanda Walker
  1502. Advanced Projects
  1503. InterCon Systems Corporation
  1504.  
  1505.  
  1506.  
  1507. +++++++++++++++++++++++++++
  1508.  
  1509. >From amanda@intercon.com (Amanda Walker)
  1510. Date: Wed, 23 Mar 1994 16:09:26 -0500
  1511. Organization: InterCon Systems Corporation, Herndon, VA USA
  1512.  
  1513. steve@hi.com (Steve Byan) writes:
  1514. > For the AV Macs, the answer was "use ARTA". My hope is that the same API 
  1515. > applies for the PowerMacs. 
  1516.  
  1517. It does not.  Any real-time API that may exist on Power Macintosh machines
  1518. is currently undocumented.  There's always the Time Manager, I suppose :-P.
  1519.  
  1520.  
  1521. Amanda Walker
  1522. Advanced Projects
  1523. InterCon Systems Corporation
  1524.  
  1525.  
  1526.  
  1527. +++++++++++++++++++++++++++
  1528.  
  1529. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  1530. Date: 25 Mar 94 14:27:54 +1300
  1531. Organization: University of Waikato, Hamilton, New Zealand
  1532.  
  1533. In article <9403231608.AA20803@fusion.intercon.com>, amanda@intercon.com (Amanda Walker) writes:
  1534. > ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  1535. >> Last I heard ARTA is included with the PowerMacs, only there is no DSP
  1536. >> for them to talk to (you have to buy add-in cards for that).
  1537. >
  1538. > ARTA is not present.  There is evidently some real-time code in them (used
  1539. > by the Power Macintosh Geoport software, for example), but it is so far
  1540. > undocumented.
  1541. >
  1542. >> As for writing real-time DSP code for a general-purpose CPU, good
  1543. >> luck...
  1544. >
  1545. > Indeed.  I get sound dropouts on my 8100/80 if the CPU gets busy.
  1546. > I'm sticking with my 660AV for anything involving audio for the time being.
  1547.  
  1548. (Gloat, gloat.) I'd just like to repeat a couple of statements I made on
  1549. comp.sys.mac.hardware:
  1550.  
  1551. * N + 1 processors are better than N. You can usually find a way to make use
  1552. of more processors to run things in parallel.
  1553.  
  1554. * A purpose-built processor is inherently superior to a general-purpose one
  1555. _for that particular purpose_. People keep talking about how "DSP-like" the
  1556. PowerPC is, just because it can do a multiply-and-add in one instruction. But
  1557. there's more to a DSP than that.
  1558.  
  1559. Put these two together, and the conclusion is inescapable: Apple is going
  1560. to have to return to the multiple-processor approach, and bring out Power Macs
  1561. with DSPs in them.
  1562.  
  1563. When that happens, I might be tempted to give up my 840AV...
  1564.  
  1565. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  1566. Info & Tech Services Division              fax: +64-7-838-4066
  1567. University of Waikato            electric mail: ldo@waikato.ac.nz
  1568. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  1569.  
  1570. +++++++++++++++++++++++++++
  1571.  
  1572. >From james@astro.as.utexas.edu (James McCartney)
  1573. Date: 25 Mar 1994 14:27:43 GMT
  1574. Organization: McDonald Observatory, University of Texas @ Austin
  1575.  
  1576. In article <9403231609.AA26772@fusion.intercon.com>,
  1577. Amanda Walker <amanda@intercon.com> wrote:
  1578.  
  1579. >  Any real-time API that may exist on Power Macintosh machines
  1580. >is currently undocumented.  There's always the Time Manager, I suppose :-P.
  1581.  
  1582.  
  1583.     Having not used the Time Mgr, what does it really guarantee in
  1584. terms of max delay, etc?  How reliable would using the callback 
  1585. routines in the double buffering sound routines be?
  1586.  
  1587.   --- james mccartney
  1588.  
  1589.  
  1590.  
  1591. +++++++++++++++++++++++++++
  1592.  
  1593. >From andrewb@iconz.co.nz (Andrew Bevin)
  1594. Date: 26 Mar 1994 07:34:32 GMT
  1595. Organization: data visual software
  1596.  
  1597. In article <1994Mar25.142754.26895@waikato.ac.nz>, ldo@waikato.ac.nz
  1598. (Lawrence D'Oliveiro, Waikato University) wrote:
  1599.  
  1600. ...
  1601. > Put these two together, and the conclusion is inescapable: Apple is going
  1602. > to have to return to the multiple-processor approach, and bring out Power Macs
  1603. > with DSPs in them.
  1604. > When that happens, I might be tempted to give up my 840AV...
  1605. > Lawrence D'Oliveiro                       fone: +64-7-856-2889
  1606. > Info & Tech Services Division              fax: +64-7-838-4066
  1607. > University of Waikato            electric mail: ldo@waikato.ac.nz
  1608. > Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  1609.  
  1610. So what happened to the centris 650 with the Video Spigot?
  1611.  
  1612. Andrew "Just keeping tabs" Bevin
  1613.  
  1614. -- 
  1615. andrewb@iconz.co.nz -- "I've a Plan so cunning you could put a tail on it
  1616.     and call it a weasel" - BlackAdder
  1617.  
  1618. +++++++++++++++++++++++++++
  1619.  
  1620. >From zstern@adobe.com (Zalman Stern)
  1621. Date: Sun, 27 Mar 1994 03:06:35 GMT
  1622. Organization: Adobe Systems Incorporated
  1623.  
  1624. Lawrence D'Oliveiro, Waikato University writes
  1625. > (Gloat, gloat.) I'd just like to repeat a couple of statements I made on
  1626. > comp.sys.mac.hardware:
  1627.  
  1628. Gloating seldom improves the rigor of one's arguments.
  1629.  
  1630. > * N + 1 processors are better than N. You can usually find a way to make  
  1631. use
  1632. > of more processors to run things in parallel.
  1633.  
  1634. The above statement is simply not true. First off, N + 1 processors cost  
  1635. more than N (for positive N :-)). In the case of going from N=1 to N=2, the  
  1636. expense is more than the added cost of another processor as external  
  1637. hardware must be added and significant software development costs must be  
  1638. amortized.
  1639.  
  1640. In the performance realm, there are plenty of examples of parallelized  
  1641. software running slower than a uniprocessor version. There are two primary  
  1642. reasons for this: communication overhead and slower hardware. Communication  
  1643. overhead involves the obvious issue of synchronizing separate processes and  
  1644. transferring data from one processor to another. (Even if they share memory,  
  1645. cache issues must be taken into account.)
  1646.  
  1647. The slower hardware issue is more interesting. Generally, simpler hardware  
  1648. has a faster design cycle and is cheaper to produce. The result of this is  
  1649. that for a given amount of money in a given timeframe, a uniprocessor  
  1650. machine will be faster than the individual processors in a multiprocessor  
  1651. box. Unless you're application takes good advantage of the multiprocessor,  
  1652. it will run faster on the uniprocessor. This is especially relevant for a  
  1653. heterogeneous multiprocessor like the 840AV where it is more difficult (and  
  1654. much less portable) to split one's application between different CPUs.
  1655.  
  1656. > * A purpose-built processor is inherently superior to a general-purpose  
  1657. one
  1658. > _for that particular purpose_.
  1659.  
  1660. The DSP subsystem in Apple's AV Macs attempts to be general purpose. By the  
  1661. time all is said and done, it has to support telecommunications, audio  
  1662. processing, and image processing. A whole real-time OS and software  
  1663. architecture is required to implement all this. Furthermore, since it is  
  1664. exported to applications software, lots of flexibility in hardware  
  1665. implementation is lost since future platforms have to be compatible. The  
  1666. subsystem is most specialized for telecom applications. Which is nice,  
  1667. except that I can get that functionality with cost effective add-on modem  
  1668. hardware.
  1669.  
  1670. In contrast, when SGI (a company noted for strong multi-media support) built  
  1671. hardware with an embedded DSP, they did not export interfaces to the DSP  
  1672. directly. Rather they provided high-level libraries to implement signal  
  1673. processing functionality. They now ship R4000 based machines without a DSP  
  1674. and old software works fine.
  1675.  
  1676. > People keep talking about how "DSP-like" the
  1677. > PowerPC is, just because it can do a multiply-and-add in one instruction.  
  1678. But
  1679. > there's more to a DSP than that.
  1680.  
  1681. PowerPC provides a number of other features which are useful for  
  1682. implementing signal processing codes such as zero overhead loops and update  
  1683. addressing modes. The only DSP like thing that is really missing is  
  1684. efficient methods of converting floating-point numbers into common signal  
  1685. data formats (e.g. 8 and 16 bit integers, u law and A law 8 bit formats).  
  1686. The architecture also makes it difficult to cheaply implement as much memory  
  1687. bandwidth as the DSP3210 has. However, the DSP3210 architecture basically  
  1688. mandates a certain pipeline and other features which make it fairly  
  1689. inflexible.
  1690.  
  1691. > Put these two together, and the conclusion is inescapable: Apple is going
  1692. > to have to return to the multiple-processor approach, and bring out Power  
  1693. Macs
  1694. > with DSPs in them.
  1695.  
  1696. The problem Apple has now is running anything remotely real-time on the same  
  1697. processor as their system software. One solution to this is adding another  
  1698. processor to the box. Another solution is to write better system software.  
  1699. If they do add more hardware to the box, there is nothing that says it has  
  1700. to be a DSP3210. (For example, a 603 or one of the new PowerPC  
  1701. implementations targeted at the embedded market would probably work as well  
  1702. and be a lot easier to develop software for.)
  1703.  
  1704. > When that happens, I might be tempted to give up my 840AV...
  1705.  
  1706. My two favorite quotes on the 840AV: "It sucketh mightily." and "The IIfx of  
  1707. the 90's."
  1708.  
  1709. I've tried programming the DSP3210 and I have lots of experience with  
  1710. PowerPC. I'll take PowerPC anytime thank you.
  1711. --
  1712. Zalman Stern           zalman@adobe.com            (415) 962 3824
  1713. Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900
  1714. "Do right, and risk consequences." Motto of Sam Houston (via Molly Ivins)
  1715.  
  1716. +++++++++++++++++++++++++++
  1717.  
  1718. >From mxmora@unix.sri.com (Matt Mora)
  1719. Date: 28 Mar 1994 13:44:02 -0800
  1720. Organization: SRI International, Menlo Park, CA
  1721.  
  1722. In article <1994Mar27.030635.19508@adobe.com> zstern@adobe.com (Zalman Stern) writes:
  1723.  
  1724. >I've tried programming the DSP3210 and I have lots of experience with  
  1725. >PowerPC. I'll take PowerPC anytime thank you.
  1726.  
  1727.  
  1728. Besides, I you can get a PPC compiler for about $300.00. The DSP
  1729. compiler is about $1000.00. Ouch!
  1730.  
  1731.  
  1732.  
  1733. Xavier
  1734.  
  1735. -- 
  1736. ___________________________________________________________
  1737. Matthew Xavier Mora                       Matt_Mora@sri.com
  1738. SRI International                       mxmora@unix.sri.com
  1739. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  1740.  
  1741. +++++++++++++++++++++++++++
  1742.  
  1743. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  1744. Date: 29 Mar 94 11:54:55 +1300
  1745. Organization: University of Waikato, Hamilton, New Zealand
  1746.  
  1747. In article <1994Mar27.030635.19508@adobe.com>, zstern@adobe.com (Zalman Stern) writes:
  1748. > Lawrence D'Oliveiro, Waikato University writes
  1749. >> * N + 1 processors are better than N. You can usually find a way to make
  1750. > use
  1751. >> of more processors to run things in parallel.
  1752. >
  1753. > The above statement is simply not true. First off, N + 1 processors cost
  1754. > more than N (for positive N :-)).
  1755.  
  1756. Nevertheless, according to our shop price lists, a 6100/60AV is significantly
  1757. more expensive than a 660AV.
  1758.  
  1759. > In the performance realm, there are plenty of examples of parallelized
  1760. > software running slower than a uniprocessor version. There are two primary
  1761. > reasons for this: communication overhead and slower hardware.
  1762.  
  1763. No, the primary reason is dumbass programmers who think that they *must*
  1764. run everything in parallel, just because they can. That extra processor gives
  1765. you the choice: the trick is knowing when to take it.
  1766.  
  1767. > The slower hardware issue is more interesting. Generally, simpler hardware
  1768. > has a faster design cycle and is cheaper to produce.
  1769.  
  1770. See above re prices.
  1771.  
  1772. >> * A purpose-built processor is inherently superior to a general-purpose
  1773. > one
  1774. >> _for that particular purpose_.
  1775. >
  1776. > The DSP subsystem in Apple's AV Macs attempts to be general purpose. By the
  1777. > time all is said and done, it has to support telecommunications, audio
  1778. > processing, and image processing. A whole real-time OS and software
  1779. > architecture is required to implement all this. Furthermore, since it is
  1780. > exported to applications software, lots of flexibility in hardware
  1781. > implementation is lost since future platforms have to be compatible.
  1782.  
  1783. I see your point about things like DSP libraries. That would have been a
  1784. good thing to add, and I don't think it's too late to do so.
  1785.  
  1786. > The
  1787. > subsystem is most specialized for telecom applications. Which is nice,
  1788. > except that I can get that functionality with cost effective add-on modem
  1789. > hardware.
  1790.  
  1791. The nicest thing I can say is that this is a short-sighted view.
  1792.  
  1793. >
  1794. >> Put these two together, and the conclusion is inescapable: Apple is going
  1795. >> to have to return to the multiple-processor approach, and bring out Power
  1796. > Macs
  1797. >> with DSPs in them.
  1798. >
  1799. > The problem Apple has now is running anything remotely real-time on the same
  1800. > processor as their system software.
  1801.  
  1802. No way can you get the performance this way, as some PowerMac users are already
  1803. discovering. Keeping the real-time and non-real-time stuff on separate
  1804. processors is the way to go.
  1805.  
  1806. >> When that happens, I might be tempted to give up my 840AV...
  1807. >
  1808. > My two favorite quotes on the 840AV: "It sucketh mightily." and "The IIfx of
  1809. > the 90's."
  1810.  
  1811. I've had a IIfx for several years. And I've had an 840AV for about a month
  1812. now. I'll take the 840AV anytime thank you.
  1813.  
  1814. > I've tried programming the DSP3210 and I have lots of experience with
  1815. > PowerPC. I'll take PowerPC anytime thank you.
  1816.  
  1817. We do DSP programming not because it is easy, but because it is hard...
  1818.  
  1819. Lawrence
  1820. (still gloating)
  1821.  
  1822. ---------------------------
  1823.  
  1824. >From marshall@kauri.vuw.ac.nz (Stephen Marshall)
  1825. Subject: Quickdraw GX Beta 3
  1826. Date: 18 Mar 1994 03:21:19 GMT
  1827. Organization: Victoria University of Wellington
  1828.  
  1829. Hi, 
  1830.  
  1831. I have just tried to run this off the March Developers CD and got a finder
  1832. error 41 (could not load finder?). Has anyone else encountered this
  1833. problem? Happens on a 660av and an LC475 with a new install of System 7.1.
  1834.  
  1835. Stephen Marshall
  1836. -- 
  1837. Macintosh Consultant                              Marshall@kauri.vuw.ac.nz
  1838. Victoria University of Wellington
  1839. New Zealand
  1840.  
  1841. +++++++++++++++++++++++++++
  1842.  
  1843. >From andreas@sctc.com (Glenn Andreas)
  1844. Date: Sat, 19 Mar 1994 15:16:23 GMT
  1845. Organization: SCTC
  1846.  
  1847. marshall@kauri.vuw.ac.nz (Stephen Marshall) writes:
  1848.  
  1849. >Hi, 
  1850.  
  1851. >I have just tried to run this off the March Developers CD and got a finder
  1852. >error 41 (could not load finder?). Has anyone else encountered this
  1853. >problem? Happens on a 660av and an LC475 with a new install of System 7.1.
  1854.  
  1855. >Stephen Marshall
  1856.  
  1857. I've had the exact same problem.  You can just hit "g" from MacsBug and it
  1858. will eventually bring up an alert saying "Couldn't load QuickDraw GX,." or
  1859. something like that.
  1860.  
  1861. What is happening is that the QuickDraw GX file is compressed on the CD and
  1862. when the installer goes to expand it, something goes wrong, which results
  1863. in resource fork being hosed.  The finder goes to open the resource fork,
  1864. and fails, thus the message.
  1865.  
  1866. However, I don't know why the installer doesn't expand it correctly - I've
  1867. yet to get it to work (I've tried on different machines (though all C610
  1868. running either 7.1 or 7.1 Pro) with different CD Roms, tried moving the
  1869. installer stuff to hard drive, etc...)  What is strange is that the results
  1870. of the different attempts often different.  Basically, something is being
  1871. expanded too big (the file is larger, usually by some value that is a
  1872. multiple of at least $100, often $1000) and so doesn't work as a resource
  1873. file - I've even tried changing the header information to point to where
  1874. the resmap ends up, but upon opening it with ResEdit, only about half the
  1875. resources can be salvaged.
  1876.  
  1877. I was guessing it was just me, since I hadn't seen anything posted here
  1878. about it (though I find it difficult to believe that a CD can be "bad",
  1879. that was one of the constants between all installs), and the next mailing
  1880. is due in a week or so, I figured I'd just try again then.
  1881.  
  1882. Glenn Andreas
  1883.  
  1884.  
  1885. +++++++++++++++++++++++++++
  1886.  
  1887. >From b-clark@nwu.edu (Brian Clark)
  1888. Date: Sat, 19 Mar 1994 18:15:52 -0600
  1889. Organization: Northwestern University
  1890.  
  1891. In article <1994Mar19.151623.19993@sctc.com>, andreas@sctc.com (Glenn
  1892. Andreas) wrote:
  1893.  
  1894. > marshall@kauri.vuw.ac.nz (Stephen Marshall) writes:
  1895.  
  1896. > I was guessing it was just me, since I hadn't seen anything posted here
  1897. > about it (though I find it difficult to believe that a CD can be "bad",
  1898. > that was one of the constants between all installs), and the next mailing
  1899. > is due in a week or so, I figured I'd just try again then.
  1900.  
  1901. I've had something similar happen. Everything loads fine at startup, and
  1902. seems to work, but DiskFix complains about the QD GX extension file length
  1903. being wrong. Making a copy of the file, then replacing the active version
  1904. with the copy usually works, but I have had the error message reccur.
  1905.  
  1906. +++++++++++++++++++++++++++
  1907.  
  1908. >From Jaime Prilusky <lsprilus@weizmann.weizmann.ac.il>
  1909. Date: Sun, 20 Mar 1994 15:16:04 GMT
  1910. Organization: Weizmann Institute of Science
  1911.  
  1912. In article <marshall-180394162328@makomako.its.vuw.ac.nz> Stephen
  1913. Marshall, marshall@kauri.vuw.ac.nz writes:
  1914. >I have just tried to run this off the March Developers CD and got a
  1915. finder
  1916. >error 41 (could not load finder?). Has anyone else encountered this
  1917. >problem? Happens on a 660av and an LC475 with a new install of System
  1918. 7.1.
  1919.  
  1920.  Please check if you have installed the WunderBar Control pannel. I had
  1921. the same
  1922.  problem, even with MPW, until we removed it.
  1923.  
  1924.  Dr Jaime Prilusky, Head
  1925.  Bioinformatics Unit                 ! LSPRILUS@WEIZMANN.WEIZMANN.AC.IL
  1926.  Weizmann Institute of Science       ! fax: 972-8-344113
  1927.  76100 Rehovot - Israel              ! tel: 972-8-343456
  1928.  
  1929. +++++++++++++++++++++++++++
  1930.  
  1931. >From gwatts@whcdfo.fnal.gov
  1932. Date: 21 Mar 94 12:09:51 -0600
  1933. Organization: Fermi National Accelerator Lab
  1934.  
  1935. In article <1994Mar20.151604.10409@wisipc.weizmann.ac.il>, Jaime Prilusky <lsprilus@weizmann.weizmann.ac.il> writes:
  1936. > In article <marshall-180394162328@makomako.its.vuw.ac.nz> Stephen
  1937. > Marshall, marshall@kauri.vuw.ac.nz writes:
  1938. >>I have just tried to run this off the March Developers CD and got a
  1939. > finder
  1940. >>error 41 (could not load finder?). Has anyone else encountered this
  1941. >>problem? Happens on a 660av and an LC475 with a new install of System
  1942. > 7.1.
  1943.  I too had this problem on my SE/30.  A clean install of sys 7.1 didn't fix
  1944. it, however, careful dusting and wiping of the cd did....  I swear!  It
  1945. was as if some bad data came off my cd.  The bomb was reproducable (sp) and
  1946. I repeated the install (of sys 7 and GX) three times before I "cleaned" my
  1947. CD and off it went.  I was using the GX Beta 3 off of develop, by the way.
  1948. My se/30 has 5 megs (can you say "virtual memory").
  1949.   I've seen this happen before -- nonsense characters in header files,
  1950. for example.  I'm not sure why the CD didn't do error checking on the file.
  1951.  
  1952.     Cheers,
  1953.         Gordon (gwatts@fnal.fnal.gov)
  1954.  
  1955.  
  1956. +++++++++++++++++++++++++++
  1957.  
  1958. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  1959. Date: 22 Mar 94 17:46:05 +1300
  1960. Organization: University of Waikato, Hamilton, New Zealand
  1961.  
  1962. In article <1994Mar19.151623.19993@sctc.com>, andreas@sctc.com (Glenn Andreas) writes:
  1963. >
  1964. > What is happening is that the QuickDraw GX file is compressed on the CD and
  1965. > when the installer goes to expand it, something goes wrong, which results
  1966. > in resource fork being hosed.  The finder goes to open the resource fork,
  1967. > and fails, thus the message.
  1968. >
  1969. > However, I don't know why the installer doesn't expand it correctly - I've
  1970. > yet to get it to work (I've tried on different machines (though all C610
  1971. > running either 7.1 or 7.1 Pro) with different CD Roms, tried moving the
  1972. > installer stuff to hard drive, etc...)  What is strange is that the results
  1973. > of the different attempts often different.
  1974.  
  1975. For what it's worth, I've done 3 installs of QuickDraw GX beta 3 so far,
  1976. from the March developer CD. The two on 68040 machines (a Centris 650 and an
  1977. 840AV) worked perfectly. I've been through the _entire_ SlideMaster demo on
  1978. both machines without a single crash! And several parts were noticeably faster
  1979. than with beta 2.
  1980.  
  1981. I installed the PPC version on a PowerMac 6100/60AV. That one mostly works,
  1982. but I got one crash in SlideMaster, and printers don't seem to appear reliably
  1983. in the Chooser.
  1984.  
  1985. One definite problem is that I can't print to a LaserJet 4ML with the
  1986. LaserWriter GX driver. But then, it's not the first problem I've had with an
  1987. HP PostScript printer...
  1988.  
  1989. By the way, here's a small puzzle that might entertain some. After updating
  1990. to the b3 interfaces and recompiling my code, none of it would work. It took
  1991. me two days to figure out what the problem was. Here's an example of what I
  1992. was doing wrong: can you spot the mistake?
  1993.  
  1994.     PROCEDURE GXNewShape
  1995.       (
  1996.     aType : gxShapeType
  1997.       ) : gxShape;
  1998.  
  1999.     CODE
  2000.         0709EH,        (* moveq.l #$9E, d0 *)
  2001.         0A832H,        (* _Skia *)
  2002.         0588FH,        (* addq.l #4, sp *)
  2003.         02E80H;        (* move.l d0, (sp) *)
  2004.  
  2005. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  2006. Info & Tech Services Division              fax: +64-7-838-4066
  2007. University of Waikato            electric mail: ldo@waikato.ac.nz
  2008. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+13:00
  2009.  
  2010. +++++++++++++++++++++++++++
  2011.  
  2012. >From hammett@sbsu1.auckland.ac.nz (Tim Hammett)
  2013. Date: 22 Mar 1994 23:52:57 GMT
  2014. Organization: University of Auckland
  2015.  
  2016. ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  2017. >By the way, here's a small puzzle that might entertain some. After updating
  2018. >to the b3 interfaces and recompiling my code, none of it would work. It took
  2019. >me two days to figure out what the problem was. Here's an example of what I
  2020. >was doing wrong: can you spot the mistake?
  2021. >
  2022. >    PROCEDURE GXNewShape
  2023. >      (
  2024. >    aType : gxShapeType
  2025. >      ) : gxShape;
  2026. >
  2027. >    CODE
  2028. >        0709EH,        (* moveq.l #$9E, d0 *)
  2029. >        0A832H,        (* _Skia *)
  2030. >        0588FH,        (* addq.l #4, sp *)
  2031. >        02E80H;        (* move.l d0, (sp) *)
  2032.  
  2033. I'll take a guess (at the risk of making myself look like an idiot).
  2034.  
  2035. I assume that $9e is the routine selector which you pass to the
  2036. _Skia trap to tell it you want to do a GXNewShape(). My guess
  2037. is that moveq sign extends the $9e (since it's negative when
  2038. considered as a byte), so while you thought you were passing
  2039. $0000009e in d0, you were actually passing $ffffff9e.
  2040.  
  2041. KON: Nasty.
  2042.  
  2043. BAL: Yup.
  2044.  
  2045. --
  2046. Tim Hammett, School of Biological Sciences, Auckland University, New Zealand.
  2047. t.hammett@auckland.ac.nz   Phone: +64-9-373-7599 x8365    FAX: +64-9-373-7416
  2048.  
  2049. +++++++++++++++++++++++++++
  2050.  
  2051. >From ivanski@world.std.com (Ivan M CaveroBelaunde)
  2052. Date: Tue, 22 Mar 1994 23:08:28 GMT
  2053. Organization: The World Public Access UNIX, Brookline, MA
  2054.  
  2055. ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  2056. >    PROCEDURE GXNewShape
  2057. >      (
  2058. >    aType : gxShapeType
  2059. >      ) : gxShape;
  2060.  
  2061. >    CODE
  2062. >        0709EH,        (* moveq.l #$9E, d0 *)
  2063. >        0A832H,        (* _Skia *)
  2064. >        0588FH,        (* addq.l #4, sp *)
  2065. >        02E80H;        (* move.l d0, (sp) *)
  2066.  
  2067. How come your compiler didn't barf at having a *procedure* that returns
  2068. a result? Also, wouldn't a moveq.l sign-extend 9E before stuffing it into
  2069. D0?
  2070.  
  2071. -Ivan
  2072. - -
  2073. Ivan Cavero Belaunde (ivanski@world.std.com)
  2074. Avid VideoShop Project Lead
  2075. Avid Technology, Inc.
  2076.  
  2077.  
  2078. +++++++++++++++++++++++++++
  2079.  
  2080. >From Stephan Bublava <stephan@iguwnext.tuwien.ac.at>
  2081. Date: 23 Mar 1994 08:34:32 GMT
  2082. Organization: Vienna University of Technology
  2083.  
  2084. In article <Cn39M5.DG0@world.std.com> Ivan M CaveroBelaunde,
  2085. ivanski@world.std.com writes:
  2086.  
  2087. >How come your compiler didn't barf at having a *procedure* 
  2088. >that returns a result?
  2089.  
  2090. Because it is Modula-2 and not Pascal.
  2091.  
  2092. --
  2093. Stephan Bublava
  2094. stephan@iguwnext.tuwien.ac.at
  2095.  
  2096. +++++++++++++++++++++++++++
  2097.  
  2098. >From andreas@sctc.com (Glenn Andreas)
  2099. Date: Wed, 23 Mar 1994 14:57:43 GMT
  2100. Organization: SCTC
  2101.  
  2102. marshall@kauri.vuw.ac.nz (Stephen Marshall) writes:
  2103.  
  2104. >Hi, 
  2105.  
  2106. >I have just tried to run this off the March Developers CD and got a finder
  2107. >error 41 (could not load finder?). Has anyone else encountered this
  2108. >problem? Happens on a 660av and an LC475 with a new install of System 7.1.
  2109.  
  2110. Well, after having the same problem, I finally found a way around it (see
  2111. my previous post for more symptoms).
  2112.  
  2113. I copied the installer folder onto my hard disk (takes 6.2 megs).  I then
  2114. took the Installer 4.0GM from the April dev CD (arived yesterday).  Modified
  2115. the installer script in ResEdit to say version 4.0 instead of 4.0b1.  Launched
  2116. the installer and proceeded as normal.
  2117.  
  2118. So it appears that the problem was not the CD (though I did try cleaning it)
  2119. but rather flaky behavior with the beta installer.
  2120.  
  2121. Glenn
  2122.  
  2123. +++++++++++++++++++++++++++
  2124.  
  2125. >From marshall@kauri.vuw.ac.nz (Stephen Marshall)
  2126. Date: 24 Mar 1994 01:36:41 GMT
  2127. Organization: Victoria University of Wellington
  2128.  
  2129.  
  2130. > marshall@kauri.vuw.ac.nz (Stephen Marshall) writes:
  2131. > >Hi, 
  2132. > >I have just tried to run this off the March Developers CD and got a finder
  2133. > >error 41 (could not load finder?). Has anyone else encountered this
  2134. > >problem? Happens on a 660av and an LC475 with a new install of System 7.1.
  2135. > >Stephen Marshall
  2136.  
  2137. In article <1994Mar19.151623.19993@sctc.com>, andreas@sctc.com (Glenn
  2138. Andreas) wrote:
  2139. >
  2140. What is happening is that the QuickDraw GX file is compressed on the CD and
  2141. when the installer goes to expand it, something goes wrong, which results
  2142. in resource fork being hosed.  The finder goes to open the resource fork,
  2143. and fails, thus the message.
  2144. >
  2145.  
  2146. Lawrence D'Olivero wrote:
  2147. >
  2148. For what it's worth, I've done 3 installs of QuickDraw GX beta 3 so far,
  2149. from the March developer CD.
  2150. >
  2151.  
  2152. And someone else suggested I clean the CD. 
  2153.  
  2154. Well, despite Lawrence's (and presumably many other's) happy experiences I
  2155. have not been able to install the software. When I try to open the
  2156. Quickdraw GX extension with ResEdit I am informed that the file is corrupt
  2157. and should be replaced with a backup. This is with a clean CD (well
  2158. polished 8-), and also with trying to install from a hard disk rather than
  2159. the CD.
  2160.  
  2161. I can't help wondering if a subset of the CDs have been incorrectly
  2162. produced or damaged in some fashion (???). I guess I will have to wait for
  2163. the next release of the software 8-(
  2164.  
  2165. Stephen
  2166. -- 
  2167. Macintosh Consultant                              Marshall@kauri.vuw.ac.nz
  2168. Victoria University of Wellington
  2169. New Zealand
  2170.  
  2171. +++++++++++++++++++++++++++
  2172.  
  2173. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  2174. Date: 24 Mar 94 17:00:06 +1300
  2175. Organization: University of Waikato, Hamilton, New Zealand
  2176.  
  2177. In article <Cn39M5.DG0@world.std.com>, ivanski@world.std.com (Ivan M CaveroBelaunde) writes:
  2178. > ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  2179. >>    PROCEDURE GXNewShape
  2180. >>      (
  2181. >>    aType : gxShapeType
  2182. >>      ) : gxShape;
  2183. >
  2184. >>    CODE
  2185. >>        0709EH,        (* moveq.l #$9E, d0 *)
  2186. >>        0A832H,        (* _Skia *)
  2187. >>        0588FH,        (* addq.l #4, sp *)
  2188. >>        02E80H;        (* move.l d0, (sp) *)
  2189. >
  2190. > How come your compiler didn't barf at having a *procedure* that returns
  2191. > a result?
  2192.  
  2193. Hint: the language doesn't have a "FUNCTION" keyword.
  2194.  
  2195. > Also, wouldn't a moveq.l sign-extend 9E before stuffing it into
  2196. > D0?
  2197.  
  2198. Give the man a cigar!
  2199.  
  2200. Lawrence
  2201. (only using moveq's for selectors up to 7F now.)
  2202.  
  2203. +++++++++++++++++++++++++++
  2204.  
  2205. >From dowdy@apple.com (Tom Dowdy)
  2206. Date: Wed, 30 Mar 1994 01:53:07 GMT
  2207. Organization: Apple Computer, Inc.
  2208.  
  2209. In article <marshall-240394143323@makomako.its.vuw.ac.nz>,
  2210. marshall@kauri.vuw.ac.nz (Stephen Marshall) wrote:
  2211.  
  2212. > Well, despite Lawrence's (and presumably many other's) happy experiences I
  2213. > have not been able to install the software. When I try to open the
  2214. > Quickdraw GX extension with ResEdit I am informed that the file is corrupt
  2215. > and should be replaced with a backup. This is with a clean CD (well
  2216. > polished 8-), and also with trying to install from a hard disk rather than
  2217. > the CD.
  2218.  
  2219. ResEdit will normally offer to repair this, and the resulting file
  2220. should be usable.
  2221.  
  2222. > I can't help wondering if a subset of the CDs have been incorrectly
  2223. > produced or damaged in some fashion (???). I guess I will have to wait for
  2224. > the next release of the software 8-(
  2225.  
  2226. Should be out soon -- but what is on the disk should install with
  2227. the exception of the "repair" mentioned above.
  2228.  
  2229. -- 
  2230.  Tom Dowdy                  Internet: dowdy@apple.COM
  2231.  Apple Computer MS:302-3KS  UUCP: {sun,voder,amdahl,decwrl}!apple!dowdy
  2232.  1 Infinite Loop            AppleLink: DOWDY1
  2233.  Cupertino, CA 95014       
  2234.  "The 'Ooh-Ah' Bird is so called because it lays square eggs."
  2235.  
  2236. ---------------------------
  2237.  
  2238. End of C.S.M.P. Digest
  2239. **********************
  2240.  
  2241.  
  2242.  
  2243.